package com.prft.rms.entity;

// Generated Aug 18, 2009 4:13:41 PM by Hibernate Tools 3.2.1.GA

import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * BillableHis generated by hbm2java
 */
@Entity
@Table(name = "BILLABLE_HIS", catalog = "RMS")
public class BillableHis implements java.io.Serializable {

	private Integer billableId;
	private AssignmentHis assignmentHis;
	private Date startDate;
	private Date thruDate;
	private int percentage;
	private Date lastUpdated;
	private String remarks;

	public BillableHis() {
	}

	public BillableHis(AssignmentHis assignmentHis, int percentage, Date lastUpdated) {
		this.assignmentHis = assignmentHis;
		this.percentage = percentage;
		this.lastUpdated = lastUpdated;
	}

	public BillableHis(AssignmentHis assignmentHis, Date startDate, Date thruDate, int percentage, Date lastUpdated,
			String remarks) {
		this.assignmentHis = assignmentHis;
		this.startDate = startDate;
		this.thruDate = thruDate;
		this.percentage = percentage;
		this.lastUpdated = lastUpdated;
		this.remarks = remarks;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "BILLABLE_ID", unique = true, nullable = false)
	public Integer getBillableId() {
		return this.billableId;
	}

	public void setBillableId(Integer billableId) {
		this.billableId = billableId;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "ASSIGNMENT_ID", nullable = false)
	public AssignmentHis getAssignmentHis() {
		return this.assignmentHis;
	}

	public void setAssignmentHis(AssignmentHis assignmentHis) {
		this.assignmentHis = assignmentHis;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "START_DATE", length = 10)
	public Date getStartDate() {
		return this.startDate;
	}

	public void setStartDate(Date startDate) {
		this.startDate = startDate;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "THRU_DATE", length = 10)
	public Date getThruDate() {
		return this.thruDate;
	}

	public void setThruDate(Date thruDate) {
		this.thruDate = thruDate;
	}

	@Column(name = "PERCENTAGE", nullable = false)
	public int getPercentage() {
		return this.percentage;
	}

	public void setPercentage(int percentage) {
		this.percentage = percentage;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "LAST_UPDATED", nullable = false, length = 19)
	public Date getLastUpdated() {
		return this.lastUpdated;
	}

	public void setLastUpdated(Date lastUpdated) {
		this.lastUpdated = lastUpdated;
	}

	@Column(name = "REMARKS")
	public String getRemarks() {
		return this.remarks;
	}

	public void setRemarks(String remarks) {
		this.remarks = remarks;
	}

}
